|
Menüeintrag |
---|
TechDraw → Page → Neues Zeichnungsblatt aus einer Vorlage erstellen |
Arbeitsbereich |
TechDraw |
Standardtastenkürzel |
Keiner |
Eingeführt in Version |
- |
Siehe auch |
TechDraw Standardseite, TechDraw Vorlagen |
Das Werkzeug TechDraw Seitenvorlage erstellt ein neues Page-Objekt (Zeichnungsblatt) unter Verwendung der in einem Dialogfeld ausgewählten Vorlagendatei.
Das Startverzeichnis für das Dialogfeld kann in den TechDraw Einstellungen festgelegt werden.
Eine der Vorlagen, die TechDraw mitgeliefert: A4_Landscape_ISO7200_Pep.svg
Siehe TechDraw Standardseite.
Siehe auch: Autogenerierte API-Dokumentation und Grundlagen der Skripterstellung in FreeCAD.
Ein Zeichnungsblatt, das auf einer ausgewählten Vorlage basiert, kann mit Makros und von der Python-Konsole aus mit den folgenden Funktionen erstellt werden:
import FreeCAD as App
from PySide import QtGui
doc = App.ActiveDocument
default_dir = App.getResourceDir() + "Mod/TechDraw/Templates"
param = App.ParamGet("User parameter:BaseApp/Preferences/Mod/TechDraw/Files")
template_dir = param.GetString("TemplateDir", default_dir)
template_file = QtGui.QFileDialog.getOpenFileName(QtGui.QApplication.activeWindow(),
"Select a Template File",
template_dir,
"Template (*.svg)")
page = doc.addObject("TechDraw::DrawPage", "Page")
template = doc.addObject("TechDraw::DrawSVGTemplate", "Template")
template.Template = template_file[0]
page.Template = template
doc.recompute()
Siehe auch: TechDraw Vorlagen für mehr Informationen zur Erstellung von Vorlagen.
Sobald ein neues Blatt erstellt wurde, enthält sein Attribut Template
ein Wörterbuch (Dictionary-Objekt) EditableTexts
mit den Namen der editierbaren Felder (Keys) und ihren Textinhalten (Values). Dieses Wörterbuch kann in eine Variable kopiert, geändert und dann erneut dem Attribut EditableTexts
zugewiesen werden, um die Änderungen darzustellen.
page = FreeCAD.ActiveDocument.Page
texts = page.Template.EditableTexts
for key, value in texts.items():
print("{0} = {1}".format(key, value))
texts["FC-Title"] = "The title of my page"
page.Template.EditableTexts = texts